package com.wicket.okrframework.web.contorller;

import com.github.pagehelper.Page;
import com.wicket.okrframework.biz.service.PlfAuthService;
import com.wicket.okrframework.biz.service.dto.req.*;
import com.wicket.okrframework.biz.service.dto.res.*;
import com.wicket.okrframework.common.ro.OkrResult;
import com.wicket.okrframework.common.util.CommonFunctionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 * 
 * @version 1.0
 */
@RestController
@RequestMapping("/base/plfAuth/")
public class PlfAuthController {

    @Autowired
    PlfAuthService plfAuthService;

    /**
   * D1-1查权限授权列表
   */
    @PostMapping("queryPlfPowerAuthList")
    public OkrResult<QueryPlfPowerAuthListRespDto> queryPlfPowerAuthList(@RequestBody @Validated QueryPlfPowerAuthListReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryPlfPowerAuthListRespDto retData = plfAuthService.queryPlfPowerAuthList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }

    /**
   * D1-1新增平台授权范围
   */
    @PostMapping("addPlfAuth")
    public OkrResult<AddPlfAuthRespDto> addPlfAuth(@RequestBody @Validated AddPlfAuthReqDto reqDTO){
    return OkrResult.success(plfAuthService.addPlfAuth(reqDTO));
    }

    /**
   * D1-1查询角色授权详情
   */
    @PostMapping("queryPltRoleAuthDetail")
    public OkrResult<QueryPltRoleAuthDetailRespDto> queryPltRoleAuthDetail(@RequestBody @Validated QueryPltRoleAuthDetailReqDto reqDTO){
    return OkrResult.success(plfAuthService.queryPltRoleAuthDetail(reqDTO));
    }

    /**
   * D1-1存档平台角色授权
   */
    @PostMapping("archivePltRoleAuth")
    public OkrResult<ArchivePltRoleAuthRespDto> archivePltRoleAuth(@RequestBody @Validated ArchivePltRoleAuthReqDto reqDTO){
    return OkrResult.success(plfAuthService.archivePltRoleAuth(reqDTO));
    }

    /**
   * D1-1查询平台授权范围列表
   */
    @PostMapping("queryPlfAuthList")
    public OkrResult<QueryPlfAuthListRespDto> queryPlfAuthList(@RequestBody @Validated QueryPlfAuthListReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryPlfAuthListRespDto retData = plfAuthService.queryPlfAuthList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }

    /**
   * D1-1查询角色授权列表
   */
    @PostMapping("queryPltRoleAuthList")
    public OkrResult<QueryPltRoleAuthListRespDto> queryPltRoleAuthList(@RequestBody @Validated QueryPltRoleAuthListReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryPltRoleAuthListRespDto retData = plfAuthService.queryPltRoleAuthList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }

    /**
   * D1-1查询授权权限列表（边界）
   */
    @PostMapping("queryPltAuthPowerList")
    public OkrResult<QueryPltAuthPowerListRespDto> queryPltAuthPowerList(@RequestBody @Validated QueryPltAuthPowerListReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryPltAuthPowerListRespDto retData = plfAuthService.queryPltAuthPowerList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }

    /**
   * D1-1存档权限授权
   */
    @PostMapping("archivePlfPowerAuth")
    public OkrResult<ArchivePlfPowerAuthRespDto> archivePlfPowerAuth(@RequestBody @Validated ArchivePlfPowerAuthReqDto reqDTO){
    return OkrResult.success(plfAuthService.archivePlfPowerAuth(reqDTO));
    }

    /**
   * D1-1查询权限授权详情
   */
    @PostMapping("queryPlfPowerAuthDetail")
    public OkrResult<QueryPlfPowerAuthDetailRespDto> queryPlfPowerAuthDetail(@RequestBody @Validated QueryPlfPowerAuthDetailReqDto reqDTO){
    return OkrResult.success(plfAuthService.queryPlfPowerAuthDetail(reqDTO));
    }

    /**
   * D1-1查询授权角色列表（边界）
   */
    @PostMapping("queryPltAuthRoleList")
    public OkrResult<QueryPltAuthRoleListRespDto> queryPltAuthRoleList(@RequestBody @Validated QueryPltAuthRoleListReqDto reqDTO){
    Page<?> page = CommonFunctionHelper.startPage(reqDTO.getPageNum(),reqDTO.getPageSize());

        QueryPltAuthRoleListRespDto retData = plfAuthService.queryPltAuthRoleList(reqDTO);

        retData.setPageNum(page.getPageNum());
        retData.setPageSize(page.getPageSize());
        retData.setTotalNum(page.getTotal());
        return OkrResult.success(retData);
    
    }
}
